package com.wolfpire.section.service;

import java.util.List;
import java.util.Map;

import com.wolfpire.system.common.Page;
import com.wolfpire.system.common.base.service.IBaseHibernateService;
import com.wolfpire.system.model.Profession;
import com.wolfpire.system.model.Section;
import com.wolfpire.system.model.Subject;
import com.wolfpire.system.model.User;

/**
 * 学科模块 业务层接口
 * @author xp
 *
 */
public interface SectionService extends IBaseHibernateService<Section, Long> {
	
	
	/**
	 * 获取账户信息
	 * @param account
	 * @return
	 */
	public Section getByName(String name);
	
	/**
	 * 查询用户列表(带分页)
	 * @param page<User> 
	 * @param filterUser
	 * @return
	 */
	public Page<Section> setPageDataList(Page<Section> page, Section filterSection);
	
	/**
	 * 根据专业ID获取用户
	 * @param orgId
	 * @return
	 */
	public List<Section> getSectionsBychapterId(Long chapterId);
	
	/**
	 * 获取完整信息的用户
	 * @param id	用户主键Id
	 * @return
	 */
	public Section getCompleteSection(Long id);
	
	/**
	 * 构建专业学科树
	 * @param subject
	 * @return
	 */
	public List<Map<String, Object>> bulidTree(Section section);
	
	
	
	public Section getById(long id);
	
	/**
	 * 根据章ID获取底下的所有节
	 * @param chapterId
	 * @return
	 */
	public List<Section> getByChapterId(long chapterId);
	
	/**
	 * 根據學科ID查找章節
	 * @param subjectId
	 * @return
	 */
	public List<Map<String, Object>> getBySubjcetId(Long userId, long subjectId);
	
	public List<Map<String, Object>> getBySectionId(long sectionId,String fileType);
	
	
	
	
	
}
